The growing sophistication and rapid proliferation of malicious software (i.e., malware) presents an ever-increasing security threat to personal computers and enterprise computer systems worldwide. To combat the spread of malware, such as viruses, worms, Trojan horses and the like, various malware detection techniques have been developed by the antimalware industry. These techniques are generally based on principles of signature matching in which a software code is compared with a dictionary of know viral codes, or heuristic analysis in which a software is emulated and analyzed for patterns of malicious behavior. However, these techniques often fail when presented with obfuscated malware in which the software code is modified (or obfuscated) making it difficult to analyze. As a result, the antimalware programs fail to detect the obfuscated malware or spend such a significant time and system resources on analysis of the obfuscated software that the detection process becomes extremely inefficient.
Accordingly, there is need for an effective and efficient mechanism for analyzing an obfuscated software code and for detecting malicious codes therein.